# 多态  鸭子模式

# 设计模式   单例模式  的写法  new   其它写法

# is  内存地址   同一份

# 异常  自定义异常


# SingleInstance

class SingleInstance:
    __instance = None

    def __new__(cls, *args, **kwargs):
        if cls.__instance is None:
            cls.__instance = object.__new__(cls, *args, **kwargs)
        return cls.__instance


s1 = SingleInstance()
s2 = SingleInstance()

print(s1 is s2)
